package com.winchain.chainbill.receivables.base.dao;

import com.shell.bee.persistence.mapper.BaseMapper;
import com.winchain.chainbill.receivables.base.po.ArRecord;
import com.winchain.chainbill.receivables.biz.query.vo.ArRecordQueryVo;
import java.util.List;
import org.apache.ibatis.annotations.Param;

public abstract interface ArRecordDao extends BaseMapper<ArRecord> {
	public abstract List<ArRecord> selectRecordsByIds(@Param("ids") String... paramVarArgs);

	public abstract int updateRecordOptimistically(ArRecord paramArRecord);

	public abstract int updateState(@Param("arState") String paramString, @Param("ids") String... paramVarArgs);

	public abstract List<ArRecord> selectRecords(ArRecordQueryVo paramArRecordQueryVo);

	public abstract List<ArRecord> selectRecordForModRev(ArRecordQueryVo paramArRecordQueryVo);

	public abstract ArRecord selectRecordMod(@Param("arId") String paramString1, @Param("modId") String paramString2);

	public abstract List<ArRecord> selectRecordForAprv(ArRecordQueryVo paramArRecordQueryVo);

	public abstract List<ArRecord> selectRecordBySellerIdAndBuyerIds(@Param("sellerId") String paramString,
			@Param("buyerIds") List<String> paramList, @Param("arStates") String... paramVarArgs);

	public abstract List<ArRecord> selectRecordByAccId(@Param("accId") String paramString);
}
